package org.example.xmut.qa.service.application.service;

import jakarta.annotation.Resource;
import org.example.xmut.qa.service.application.command.UpdateQaCommand;
import org.example.xmut.qa.service.application.port.in.UpdateQaUseCase;
import org.example.xmut.qa.service.domain.Qa;
import org.example.xmut.qa.service.domain.port.UpdateQaPort;
import org.example.xmut.qa.service.domain.valueobject.Answer;
import org.example.xmut.qa.service.domain.valueobject.QaId;
import org.example.xmut.qa.service.domain.valueobject.Question;
import org.springframework.stereotype.Service;

@Service
public class UpdateQaService implements UpdateQaUseCase {
    @Resource
    private UpdateQaPort updateQaPort;

    @Override
    public Qa updateQa(UpdateQaCommand command) {
        Qa qa = new Qa(
                new QaId(command.id()),
                new Question(command.question()),
                new Answer(command.answer()));
        return updateQaPort.updateQa(qa);
    }
}
